package com.wicket.okrapp.biz.service.dto.req;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc ImplementObjectAuthorizationAuthenticateComReqDto
 * @使用场景
 */
@Data
public class ImplementObjectAuthorizationAuthenticateComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 配置方案ID
   */
  @ApiModelProperty("配置方案ID ")
  private String confSchemeId;

  /**
   * 配置方案标识
   */
  @ApiModelProperty("配置方案标识")
  private String confSchemeCode;

  /**
   * 应用实例类型 TENANT_SPACE:租户空间 ORG:组织 EVA_THEME:评价主题 EVA_TEMP:评价模板 PLATFORM:平台
   */
  @NotNull(message = "应用实例类型不能为空")
  @ApiModelProperty("应用实例类型")
  private String applexType;

  /**
   * 授权类型 CYCLE_TIME:周期时间型 FIXED_TIME:固定时间型 QUANTITY:数量型
   */
  @NotNull(message = "授权类型不能为空")
  @ApiModelProperty("授权类型")
  private String authType;

  /**
   * 授权数量
   */
  @ApiModelProperty("授权数量")
  private Long authorizationNum;

  /**
   * 授权结束时间
   */
  @ApiModelProperty("授权结束时间")
  private Date impowerEndTime;

  /**
   * 同时可以编辑应用对象的数量
   */
  @ApiModelProperty("同时可以编辑应用对象的数量")
  private Long simultaneouslyCanEditObjNum;

  /**
   * 租户空间ID
   */
  @NotNull(message = "租户空间ID不能为空")
  @ApiModelProperty("租户空间ID")
  private String tenantSpaceId;

}
